package com.tfswx.fljdmxyy.service;


import com.tfswx.fljdmxyy.dto.pzgl.*;
import com.tfswx.fljdmxyy.query.pzgl.PzxlbQueryParam;
import com.tfswx.fljdmxyy.query.pzgl.PzxlbQueryResult;
import com.tfswx.newbie.boot.starter.page.PageParam;
import com.tfswx.newbie.boot.starter.page.PageResult;

import java.util.List;

/**
 * 配置管理服务
 *
 * @Author 陈文佳
 * @Date 2023/03/24
 */
public interface PzglService {

    /**
     * 获取配置项信息
     *
     * @param inputDTO 获取配置项信息入参
     * @return PzxGetOutputDTO 获取配置项信息出参
     */
    PzxGetOutputDTO getPzx(PzxGetInputDTO inputDTO);

    /**
     * 添加配置项
     *
     * @param inputDTO 添加配置项入参
     * @return PzxAddOutputDTO 添加配置项出参
     */
    PzxAddOutputDTO addPzx(PzxAddInputDTO inputDTO);

    /**
     * 修改配置项
     *
     * @param inputDTO 修改配置项入参
     * @return Boolean 修改配置项出参
     */
    Boolean updatePzx(PzxUpdateInputDTO inputDTO);

    /**
     * 删除配置项
     *
     * @param inputDTO 删除配置项入参
     * @return Boolean 删除配置项出参
     */
    Boolean deletePzx(PzxDeleteInputDTO inputDTO);

    /**
     * 查询配置项列表
     *
     * @param param 查询配置项列表入参
     * @return PageResult<PzxlbQueryResult> 查询配置项列表出参
     */
    PageResult<PzxlbQueryResult> queryPzxlb(PageParam<PzxlbQueryParam> param);

    /**
     * 查询开放配置项列表
     *
     * @return List<PzxlbQueryResult> 查询开放配置项列表出参
     */
    List<PzxlbQueryResult> queryKfpzx();
}
